package pers.qianyu.service;

import pers.qianyu.domain.common.*;
import pers.qianyu.domain.dto.*;
import pers.qianyu.domain.vo.*;

/**
 * 用户服务接口
 *
 * @author mizzle rain
 * @date 2020-10-12 9:21
 */
public interface UserService {
    /**
     * 保存用户
     *
     * @param userDTO 用户信息
     * @return 数据库中受影响的行数
     */
    int save(UserDTO userDTO);

    /**
     * 更新用户
     *
     * @param id      用户 id
     * @param userDTO 要更新的用户信息
     * @return 数据库中受影响的行数
     */
    int update(Long id, UserDTO userDTO);

    /**
     * 删除用户
     *
     * @param id 用户 id
     * @return 数据库中受影响的行数
     */
    int delete(Long id);

    /**
     * 分页查询
     *
     * @param userQueryDTO 分页查询条件
     * @return 分页查询结果
     */
    Pagination<UserVO> query(UserQueryDTO userQueryDTO);
}
